package com.sxx.beautifulcity.entity.greendao;

import android.database.sqlite.SQLiteDatabase;

import java.util.Map;

import de.greenrobot.dao.AbstractDao;
import de.greenrobot.dao.AbstractDaoSession;
import de.greenrobot.dao.identityscope.IdentityScopeType;
import de.greenrobot.dao.internal.DaoConfig;

import com.sxx.beautifulcity.entity.greendao.AgritourismDaoEntity;
import com.sxx.beautifulcity.entity.greendao.AroundDaoEntity;
import com.sxx.beautifulcity.entity.greendao.LineDaoEntity;
import com.sxx.beautifulcity.entity.greendao.HolidayDaoEntity;
import com.sxx.beautifulcity.entity.greendao.PluckDaoEntity;
import com.sxx.beautifulcity.entity.greendao.VillageDaoEntity;
import com.sxx.beautifulcity.entity.greendao.SpeciallyDaoEntity;
import com.sxx.beautifulcity.entity.greendao.DeliciousFoodDaoEntity;
import com.sxx.beautifulcity.entity.greendao.PetDaoEntity;
import com.sxx.beautifulcity.entity.greendao.WeatherDaoEntity;
import com.sxx.beautifulcity.entity.greendao.BarbecuteDaoEntity;
import com.sxx.beautifulcity.entity.greendao.KeepHealthDaoEntity;
import com.sxx.beautifulcity.entity.greendao.UserDaoEntity;
import com.sxx.beautifulcity.entity.greendao.LoginUserDaoEntity;
import com.sxx.beautifulcity.entity.greendao.Detail;

import com.sxx.beautifulcity.entity.greendao.AgritourismDaoEntityDao;
import com.sxx.beautifulcity.entity.greendao.AroundDaoEntityDao;
import com.sxx.beautifulcity.entity.greendao.LineDaoEntityDao;
import com.sxx.beautifulcity.entity.greendao.HolidayDaoEntityDao;
import com.sxx.beautifulcity.entity.greendao.PluckDaoEntityDao;
import com.sxx.beautifulcity.entity.greendao.VillageDaoEntityDao;
import com.sxx.beautifulcity.entity.greendao.SpeciallyDaoEntityDao;
import com.sxx.beautifulcity.entity.greendao.DeliciousFoodDaoEntityDao;
import com.sxx.beautifulcity.entity.greendao.PetDaoEntityDao;
import com.sxx.beautifulcity.entity.greendao.WeatherDaoEntityDao;
import com.sxx.beautifulcity.entity.greendao.BarbecuteDaoEntityDao;
import com.sxx.beautifulcity.entity.greendao.KeepHealthDaoEntityDao;
import com.sxx.beautifulcity.entity.greendao.UserDaoEntityDao;
import com.sxx.beautifulcity.entity.greendao.LoginUserDaoEntityDao;
import com.sxx.beautifulcity.entity.greendao.DetailDao;

// THIS CODE IS GENERATED BY greenDAO, DO NOT EDIT.

/**
 * {@inheritDoc}
 * 
 * @see de.greenrobot.dao.AbstractDaoSession
 */
public class DaoSession extends AbstractDaoSession {

    private final DaoConfig agritourismDaoEntityDaoConfig;
    private final DaoConfig aroundDaoEntityDaoConfig;
    private final DaoConfig lineDaoEntityDaoConfig;
    private final DaoConfig holidayDaoEntityDaoConfig;
    private final DaoConfig pluckDaoEntityDaoConfig;
    private final DaoConfig villageDaoEntityDaoConfig;
    private final DaoConfig speciallyDaoEntityDaoConfig;
    private final DaoConfig deliciousFoodDaoEntityDaoConfig;
    private final DaoConfig petDaoEntityDaoConfig;
    private final DaoConfig weatherDaoEntityDaoConfig;
    private final DaoConfig barbecuteDaoEntityDaoConfig;
    private final DaoConfig keepHealthDaoEntityDaoConfig;
    private final DaoConfig userDaoEntityDaoConfig;
    private final DaoConfig loginUserDaoEntityDaoConfig;
    private final DaoConfig detailDaoConfig;

    private final AgritourismDaoEntityDao agritourismDaoEntityDao;
    private final AroundDaoEntityDao aroundDaoEntityDao;
    private final LineDaoEntityDao lineDaoEntityDao;
    private final HolidayDaoEntityDao holidayDaoEntityDao;
    private final PluckDaoEntityDao pluckDaoEntityDao;
    private final VillageDaoEntityDao villageDaoEntityDao;
    private final SpeciallyDaoEntityDao speciallyDaoEntityDao;
    private final DeliciousFoodDaoEntityDao deliciousFoodDaoEntityDao;
    private final PetDaoEntityDao petDaoEntityDao;
    private final WeatherDaoEntityDao weatherDaoEntityDao;
    private final BarbecuteDaoEntityDao barbecuteDaoEntityDao;
    private final KeepHealthDaoEntityDao keepHealthDaoEntityDao;
    private final UserDaoEntityDao userDaoEntityDao;
    private final LoginUserDaoEntityDao loginUserDaoEntityDao;
    private final DetailDao detailDao;

    public DaoSession(SQLiteDatabase db, IdentityScopeType type, Map<Class<? extends AbstractDao<?, ?>>, DaoConfig>
            daoConfigMap) {
        super(db);

        agritourismDaoEntityDaoConfig = daoConfigMap.get(AgritourismDaoEntityDao.class).clone();
        agritourismDaoEntityDaoConfig.initIdentityScope(type);

        aroundDaoEntityDaoConfig = daoConfigMap.get(AroundDaoEntityDao.class).clone();
        aroundDaoEntityDaoConfig.initIdentityScope(type);

        lineDaoEntityDaoConfig = daoConfigMap.get(LineDaoEntityDao.class).clone();
        lineDaoEntityDaoConfig.initIdentityScope(type);

        holidayDaoEntityDaoConfig = daoConfigMap.get(HolidayDaoEntityDao.class).clone();
        holidayDaoEntityDaoConfig.initIdentityScope(type);

        pluckDaoEntityDaoConfig = daoConfigMap.get(PluckDaoEntityDao.class).clone();
        pluckDaoEntityDaoConfig.initIdentityScope(type);

        villageDaoEntityDaoConfig = daoConfigMap.get(VillageDaoEntityDao.class).clone();
        villageDaoEntityDaoConfig.initIdentityScope(type);

        speciallyDaoEntityDaoConfig = daoConfigMap.get(SpeciallyDaoEntityDao.class).clone();
        speciallyDaoEntityDaoConfig.initIdentityScope(type);

        deliciousFoodDaoEntityDaoConfig = daoConfigMap.get(DeliciousFoodDaoEntityDao.class).clone();
        deliciousFoodDaoEntityDaoConfig.initIdentityScope(type);

        petDaoEntityDaoConfig = daoConfigMap.get(PetDaoEntityDao.class).clone();
        petDaoEntityDaoConfig.initIdentityScope(type);

        weatherDaoEntityDaoConfig = daoConfigMap.get(WeatherDaoEntityDao.class).clone();
        weatherDaoEntityDaoConfig.initIdentityScope(type);

        barbecuteDaoEntityDaoConfig = daoConfigMap.get(BarbecuteDaoEntityDao.class).clone();
        barbecuteDaoEntityDaoConfig.initIdentityScope(type);

        keepHealthDaoEntityDaoConfig = daoConfigMap.get(KeepHealthDaoEntityDao.class).clone();
        keepHealthDaoEntityDaoConfig.initIdentityScope(type);

        userDaoEntityDaoConfig = daoConfigMap.get(UserDaoEntityDao.class).clone();
        userDaoEntityDaoConfig.initIdentityScope(type);

        loginUserDaoEntityDaoConfig = daoConfigMap.get(LoginUserDaoEntityDao.class).clone();
        loginUserDaoEntityDaoConfig.initIdentityScope(type);

        detailDaoConfig = daoConfigMap.get(DetailDao.class).clone();
        detailDaoConfig.initIdentityScope(type);

        agritourismDaoEntityDao = new AgritourismDaoEntityDao(agritourismDaoEntityDaoConfig, this);
        aroundDaoEntityDao = new AroundDaoEntityDao(aroundDaoEntityDaoConfig, this);
        lineDaoEntityDao = new LineDaoEntityDao(lineDaoEntityDaoConfig, this);
        holidayDaoEntityDao = new HolidayDaoEntityDao(holidayDaoEntityDaoConfig, this);
        pluckDaoEntityDao = new PluckDaoEntityDao(pluckDaoEntityDaoConfig, this);
        villageDaoEntityDao = new VillageDaoEntityDao(villageDaoEntityDaoConfig, this);
        speciallyDaoEntityDao = new SpeciallyDaoEntityDao(speciallyDaoEntityDaoConfig, this);
        deliciousFoodDaoEntityDao = new DeliciousFoodDaoEntityDao(deliciousFoodDaoEntityDaoConfig, this);
        petDaoEntityDao = new PetDaoEntityDao(petDaoEntityDaoConfig, this);
        weatherDaoEntityDao = new WeatherDaoEntityDao(weatherDaoEntityDaoConfig, this);
        barbecuteDaoEntityDao = new BarbecuteDaoEntityDao(barbecuteDaoEntityDaoConfig, this);
        keepHealthDaoEntityDao = new KeepHealthDaoEntityDao(keepHealthDaoEntityDaoConfig, this);
        userDaoEntityDao = new UserDaoEntityDao(userDaoEntityDaoConfig, this);
        loginUserDaoEntityDao = new LoginUserDaoEntityDao(loginUserDaoEntityDaoConfig, this);
        detailDao = new DetailDao(detailDaoConfig, this);

        registerDao(AgritourismDaoEntity.class, agritourismDaoEntityDao);
        registerDao(AroundDaoEntity.class, aroundDaoEntityDao);
        registerDao(LineDaoEntity.class, lineDaoEntityDao);
        registerDao(HolidayDaoEntity.class, holidayDaoEntityDao);
        registerDao(PluckDaoEntity.class, pluckDaoEntityDao);
        registerDao(VillageDaoEntity.class, villageDaoEntityDao);
        registerDao(SpeciallyDaoEntity.class, speciallyDaoEntityDao);
        registerDao(DeliciousFoodDaoEntity.class, deliciousFoodDaoEntityDao);
        registerDao(PetDaoEntity.class, petDaoEntityDao);
        registerDao(WeatherDaoEntity.class, weatherDaoEntityDao);
        registerDao(BarbecuteDaoEntity.class, barbecuteDaoEntityDao);
        registerDao(KeepHealthDaoEntity.class, keepHealthDaoEntityDao);
        registerDao(UserDaoEntity.class, userDaoEntityDao);
        registerDao(LoginUserDaoEntity.class, loginUserDaoEntityDao);
        registerDao(Detail.class, detailDao);
    }
    
    public void clear() {
        agritourismDaoEntityDaoConfig.getIdentityScope().clear();
        aroundDaoEntityDaoConfig.getIdentityScope().clear();
        lineDaoEntityDaoConfig.getIdentityScope().clear();
        holidayDaoEntityDaoConfig.getIdentityScope().clear();
        pluckDaoEntityDaoConfig.getIdentityScope().clear();
        villageDaoEntityDaoConfig.getIdentityScope().clear();
        speciallyDaoEntityDaoConfig.getIdentityScope().clear();
        deliciousFoodDaoEntityDaoConfig.getIdentityScope().clear();
        petDaoEntityDaoConfig.getIdentityScope().clear();
        weatherDaoEntityDaoConfig.getIdentityScope().clear();
        barbecuteDaoEntityDaoConfig.getIdentityScope().clear();
        keepHealthDaoEntityDaoConfig.getIdentityScope().clear();
        userDaoEntityDaoConfig.getIdentityScope().clear();
        loginUserDaoEntityDaoConfig.getIdentityScope().clear();
        detailDaoConfig.getIdentityScope().clear();
    }

    public AgritourismDaoEntityDao getAgritourismDaoEntityDao() {
        return agritourismDaoEntityDao;
    }

    public AroundDaoEntityDao getAroundDaoEntityDao() {
        return aroundDaoEntityDao;
    }

    public LineDaoEntityDao getLineDaoEntityDao() {
        return lineDaoEntityDao;
    }

    public HolidayDaoEntityDao getHolidayDaoEntityDao() {
        return holidayDaoEntityDao;
    }

    public PluckDaoEntityDao getPluckDaoEntityDao() {
        return pluckDaoEntityDao;
    }

    public VillageDaoEntityDao getVillageDaoEntityDao() {
        return villageDaoEntityDao;
    }

    public SpeciallyDaoEntityDao getSpeciallyDaoEntityDao() {
        return speciallyDaoEntityDao;
    }

    public DeliciousFoodDaoEntityDao getDeliciousFoodDaoEntityDao() {
        return deliciousFoodDaoEntityDao;
    }

    public PetDaoEntityDao getPetDaoEntityDao() {
        return petDaoEntityDao;
    }

    public WeatherDaoEntityDao getWeatherDaoEntityDao() {
        return weatherDaoEntityDao;
    }

    public BarbecuteDaoEntityDao getBarbecuteDaoEntityDao() {
        return barbecuteDaoEntityDao;
    }

    public KeepHealthDaoEntityDao getKeepHealthDaoEntityDao() {
        return keepHealthDaoEntityDao;
    }

    public UserDaoEntityDao getUserDaoEntityDao() {
        return userDaoEntityDao;
    }

    public LoginUserDaoEntityDao getLoginUserDaoEntityDao() {
        return loginUserDaoEntityDao;
    }

    public DetailDao getDetailDao() {
        return detailDao;
    }

}
